package org.lestr.secuel.m3ds.maths;

public interface IPoint2d<E extends IPoint2d.IEcouteur<P>, P extends IPoint2d> {


    void définirXY(IPoint2d point2d);


    void définirXY(double x,
                   double y);


    void définirX(double x);


    double obtenirX();


    void définirY(double y);


    double obtenirY();


    public static interface IEcouteur<P extends IPoint2d> {


        void xModifié(P point2d,
                      double ancienX);


        void yModifié(P point2d,
                      double ancienZ);


        public static class IAdaptateur<P extends IPoint2d> implements IEcouteur {


            @Override
            public void xModifié(IPoint2d point2d,
                                 double ancienX) {
            }// FIN Méthode xModifié


            @Override
            public void yModifié(IPoint2d point2d,
                                 double ancienY) {
            }// FIN Méthode yModifié


        }// FIN Classe IAdaptateur


    }// FIN Interface IEcouteur


}// FIN Classe
